﻿using Newtonsoft.Json;

namespace Infrastructure.ExternalService.Core.Requests
{
    public class PayPreCreateRequest
    {
        /// <summary>
        /// 平台编码:不同订单中心编码不同
        /// </summary>
        [JsonProperty("platformCode")]
        public string PlatformCode { get; set; }
        /// <summary>
        /// 支付接入端编码
        /// </summary>
        [JsonProperty("tradeclientCode")]
        public string TradeClientCode { get; set; }
        /// <summary>
        /// 订单唯一交易号
        /// </summary>
        [JsonProperty("traderecordOrdertradeno")]
        public string TradeRecordOrderTradeNo { get; set; }
        /// <summary>
        /// 交易支付金额
        /// </summary>
        [JsonProperty("traderecordAmount")]
        public long TradeRecordAmount { get; set; }
        /// <summary>
        /// 支付结果通知地址
        /// </summary>
        [JsonProperty("traderecordNotifyurl")]
        public string TradeRecordNotifyUrl { get; set; }
        /// <summary>
        /// 交易记录前台地址(可选)
        /// </summary>
        [JsonProperty("traderecordFronturl")]
        public string TradeRecordFrontUrl { get; set; }
        /// <summary>
        /// 应用场景
        /// </summary>
        [JsonProperty("scene")]
        public string Scene { get; set; }
        /// <summary>
        /// 订单用户标识
        /// </summary>
        [JsonProperty("userId")]
        public string UserId { get; set; }
        /// <summary>
        /// 订单标识
        /// </summary>
        [JsonProperty("orderId")]
        public string OrderId { get; set; }
        /// <summary>
        /// orderTotalamount
        /// </summary>
        [JsonProperty("orderTotalamount")]
        public long OrderTotalAmount { get; set; }
        /// <summary>
        /// 商品名称
        /// </summary>
        [JsonProperty("goodsTitle")]
        public string GoodsTitle { get; set; }
        /// <summary>
        /// 商品明细
        /// </summary>
        [JsonProperty("goodsDetail")]
        public string GoodsDetail { get; set; }
        /// <summary>
        /// 是否支持分期标识：Y支持；N不支持
        /// </summary>
        [JsonProperty("traderecordStagetype")]
        public string TradeRecordStageType { get; set; }
        /// <summary>
        /// 分期方案：多个用逗号隔开
        /// </summary>
        [JsonProperty("stageruleCode")]
        public string StageRuleCode { get; set; }
        /// <summary>
        /// 订单用户信息：默认是手机号
        /// </summary>
        public string paymentOrderuserinfo { get; set; }

        /// <summary>
        /// 订单支付主体
        /// </summary>
        [JsonProperty("companyCode")]
        public string OrderCompanyCode { get; set; }
    }
}
